import java.util.LinkedList;

public class StateSpace
{

	private LinkedList<String>	operators;
	private State				initialState;
	private LinkedList<State>	allPossibleStates;

	public StateSpace(LinkedList<String> operators, State initialState)
	{
		super();
		this.operators = operators;
		this.initialState = initialState;
		this.allPossibleStates = enumrateStates(operators, initialState);
	}

	/**
	 * This method enumerates all possible states given the initial state of a
	 * problem and the operators
	 * 
	 * @param operators
	 * @param initialState
	 * @return list of all possible states
	 */
	public LinkedList<State> enumrateStates(LinkedList<String> operators,
			State initialState)
	{
		// no implementation for this method is required in this project.
		return null;
	}

	public LinkedList<String> getOperators()
	{
		return operators;
	}

	public void setOperators(LinkedList<String> operators)
	{
		this.operators = operators;
	}

	public State getInitialState()
	{
		return initialState;
	}

	public void setInitialState(State initialState)
	{
		this.initialState = initialState;
	}

	public LinkedList<State> getAllPossibleStates()
	{
		return allPossibleStates;
	}

	public void setAllPossibleStates(LinkedList<State> allPossibleStates)
	{
		this.allPossibleStates = allPossibleStates;
	}

}
